---
title: Modal Kancaları
description: Kancalar aracılığıyla programlı olarak modalları açın
---

# Modal Kancaları

## Kancalar aracılığıyla programlı olarak modalları açın

Uygulamanızda her yerde modalların programlı olarak açılmasına izin vermek için aşağıdaki Kancalar sağlanmıştır.

- `useConnectModal`
- `useAccountModal`
- `useChainModal`

Bu kancaların her biri, ilgili modalın açılması için bir işlev içeren bir nesne döndürür. Uygulamanız, modalın açılması için gerekli durumda değilse, döndürülen işlevlerin tanımsız olacağını unutmayın.

```tsx
import {
  useConnectModal,
  useAccountModal,
  useChainModal,
} from '@rainbow-me/rainbowkit';

export const YourApp = () => {
  const { openConnectModal } = useConnectModal();
  const { openAccountModal } = useAccountModal();
  const { openChainModal } = useChainModal();

  return (
    <>
      {openConnectModal && (
        <button onClick={openConnectModal} type="button">
          Open Connect Modal
        </button>
      )}

      {openAccountModal && (
        <button onClick={openAccountModal} type="button">
          Open Account Modal
        </button>
      )}

      {openChainModal && (
        <button onClick={openChainModal} type="button">
          Open Chain Modal
        </button>
      )}
    </>
  );
};
```

Her kanca ayrıca modanın durumu için bir boolean döndürür. Cüzdan Bağlantısı Modalı'nın durumuna güvenmek yerine, kullanıcı cüzdanı bağlantı durumuna doğrudan yanıt vermek için yalnızca Wagmi kancalarına (örneğin: `useAccount`) güvenmeniz genellikle tavsiye edilir.

```tsx
const { connectModalOpen } = useConnectModal();
const { accountModalOpen } = useAccountModal();
const { chainModalOpen } = useChainModal();
```

RainbowKit, kesintisiz ve duyarlı olacak şekilde tasarlanmıştır, bu nedenle dApp'lerin kullanıcıların cüzdanlarını bağladıklarına bakılmaksızın her zaman bir arayüz sunmaları gerekir. Bir kullanıcı cüzdanını doğrudan MetaMask'tan bağlayabilir veya bağlantısını kesebilir, bu nedenle dApp alttaki bağlantı durumuna doğrudan yanıt vermelidir.

Kullanıcı doğrulaması için Ethereum ile Giriş yapma gibi mekanizmalara güvenen dApp'ler bunun yerine [Kimlik Doğrulama](/docs/authentication) özelliğine güvenmelidir.
